Expert systems attempt to provide answers to problems in a specific domain, with the intent of at least partially replacing human experts. Expert system reasoning often tries to imitate human reasoning. Since expert systems are to do with human reasoning and communications, understanding and utilizing human words is a crucial factor if a natural language is used for querying the expert system. The two most significant components of an expert system are the expert system shell and the knowledge base. The expert system shell handles interpretation of user input into the system in order to facilitate the reasoning. The knowledge base of an expert system is the factual body consisting of information and relationships between the elements of information arranged in such a way as to fulfill the purpose of the expert system. The knowledge base does not necessarily contain definitive rules to prioritize between options or rule out others altogether.
The Internet offers a practical medium for users to interconnect with an expert system. The convenience and availability of Internet browsers enables most users to benefit from the knowledge managed by specific expert systems almost without limitations of location. Moreover, the ubiquitous access users may now have to knowledge bases through personal hand held communications end points, encourages the need for the diversification in knowledge domains, so that one could derive quick answers for an increasing amount of fields of knowledge.